package com.xindacloud.sms.portal.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class SearchMessageVO implements Serializable {


    /**
     * 主键
     * 发送短信记录ID
     * isNullAble:0
     */
    @ApiModelProperty(value = "发送短信记录ID", name = "sendRecordId", hidden = true)
    @JsonIgnoreProperties
    private Integer sendRecordId;

    /**
     * 提供给用户的MessageId
     * isNullAble:0
     */
    @ApiModelProperty(value = "提供给用户的MessageId", name = "taskId")
    @JsonProperty("messageId")
    private String taskId;

    /**
     * 短信费用
     * isNullAble:1
     */
    @ApiModelProperty(value = "费用", name = "free")
    private BigDecimal free;

    /**
     * 发送时间
     * isNullAble:1,defaultVal:CURRENT_TIMESTAMP
     */
    @ApiModelProperty(value = "提交时间 yyyy-MM-dd HH:mm:ss", name = "submitTime")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.time.LocalDateTime submitTime;

    /**
     * 方向outing
     * isNullAble:1,defaultVal:Outing
     */
    @ApiModelProperty(value = "方向", name = "direction", example = "Outing")
    private String direction;

    /**
     * 发送者
     * isNullAble:1
     */
    @ApiModelProperty(value = "发送者短号或者ID", name = "sendFrom")
    private String sendFrom;

    /**
     * 接受者，号码满足E.164格式
     * isNullAble:1
     */
    @ApiModelProperty(value = "接受者", name = "sendTo")
    private String sendTo;

    /**
     * 消息ID（UUID）
     * isNullAble:1
     */
    /*@ApiModelProperty(value = "消息ID", name = "messageId")
    @JsonProperty("taskId")
    private String messageId;*/


    /**
     * 短信发送编码方式
     * isNullAble:1
     */
    @ApiModelProperty(value = "短信发送编码方式", name = "encoding")
    private String encoding;

    /**
     * 返回消息条数
     * isNullAble:1
     */
    @ApiModelProperty(value = "消息条数", name = "messageCount")
    private Integer messageCount;
    @ApiModelProperty(value = "短信内容", name = "messageBody")
    private String messageBody;

    /**
     * 网络
     * isNullAble:1
     */
    @ApiModelProperty(value = "网络", name = "network")
    private String network;

    /**
     * 代理商ID
     * isNullAble:1
     */
    @ApiModelProperty(value = "代理商ID", name = "agentId")
    private String agentId;

    /**
     * 代理商名称
     * isNullAble:1
     */
    @ApiModelProperty(value = "代理商名称", name = "agentName")
    private String agentName;

    /**
     * 错误信息
     * isNullAble:1
     */
    @ApiModelProperty(value = "错误信息", name = "errorText")
    private String errorText;

    /**
     * 发送状态
     * isNullAble:1
     */
    @ApiModelProperty(value = "提交状态0表示提交成功,其他均为失败", name = "submitStatusCode")
    private Integer submitStatusCode;
    @ApiModelProperty(value = "最终状态", name = "finalStatus")
    private String finalStatus;

    /**
     * 发送时间
     * isNullAble:1,defaultVal:CURRENT_TIMESTAMP
     */
    @ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss", name = "createTime", hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.time.LocalDateTime createTime;


}
